home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 027a / oclip.zip / HISTORY.TXT next >
Text File  |  1991-10-15  |  3KB  |  61 lines

  1. [08/31/91] Version .90
  2.  
  3. Changed the syntax of the method definition to use '=' instead of comma
  4. as a delineator between <MethodName> and <MethodUDF>.  This was done to
  5. allow greater compatability with Class(y) at the advice of Anton van
  6. Straaten.  This new syntax also allows multiple method definitions to be
  7. comma separated, i.e., the follow is now legal:
  8.  
  9.      CLASS Foo
  10.        METHOD New=FooNew, Bar=FooBar, Save, Debug
  11.        VAR ......
  12.      ENDCLASS
  13.  
  14. Removed the self() function.  References to self() will now use the
  15. QSELF() function contained in Plankton.  This reduces the code overhead
  16. by a slight amount, and should improve performance as well, since
  17. QSELF() is a Plankton operator rather than an external function.  I
  18. would have used this function to begin with, but I was unaware of its
  19. existance until it was pointed out to me by Anton.
  20.  
  21. Renamed some of the internal symbols to use 'IVAR' and 'SIVAR' instead
  22. of 'OVAR' and 'SOVAR' to be consistent with current buzzwords.
  23.  
  24. There is still a problem with the debugger when using 'mangled' method
  25. names (i.e., MethodUDF <> MethodName).  The debugger insists that the
  26. MethodName function does not exist.  I'm still stumped on this one, but
  27. I have a feeling the problem may be in one of the Clipper __Class
  28. functions....
  29.  
  30.  
  31. [09/01/91] Version .91
  32.  
  33. Eliminated the need to reference Self as a function - it is no longer
  34. necessary to use parens.  This was done to allow compatability with
  35. Class(y) and SuperClass.  This may require doing a global replace for
  36. "self()" -> "self" on method functions, but other than that, should not
  37. cause any problems.
  38.  
  39. Removed the macro call in __DefineClass for the parent class function
  40. call.  This call ensures that a new class's parent class definition
  41. function has been called before the subclass's class definition
  42. function.  This is now accomplished via a code block, which should be
  43. faster as well as require less overhead, but requires a little more
  44. trickery on the preprocessor's part.  Notice that an interim command
  45. state is necessary in order to convert the ParentClass to a function and
  46. then blockify.
  47.  
  48.  
  49. [09/21/91] Version .92
  50.  
  51. Added the ability to call an overridden method.  This is accomplished by
  52. preceding the desired message with a "Parent" or "Super" message.  For
  53. example, to call an overridden New method, we would use:
  54.  
  55.      obj:Parent:New
  56.  
  57. Messages should not be chained after calling an overridden method, since
  58. they will not return a proper copy of self.  This was done to allow
  59. Methods to return values other than self if desired.
  60.  
  61.